home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / idlelib / aboutDialog.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  7KB  |  149 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. '''About Dialog for IDLE
  5.  
  6. '''
  7. from Tkinter import *
  8. import string
  9. import os
  10. import textView
  11. import idlever
  12.  
  13. class AboutDialog(Toplevel):
  14.     '''Modal about dialog for idle
  15.  
  16.     '''
  17.     
  18.     def __init__(self, parent, title):
  19.         Toplevel.__init__(self, parent)
  20.         self.configure(borderwidth = 5)
  21.         self.geometry('+%d+%d' % (parent.winfo_rootx() + 30, parent.winfo_rooty() + 30))
  22.         self.bg = '#707070'
  23.         self.fg = '#ffffff'
  24.         self.CreateWidgets()
  25.         self.resizable(height = FALSE, width = FALSE)
  26.         self.title(title)
  27.         self.transient(parent)
  28.         self.grab_set()
  29.         self.protocol('WM_DELETE_WINDOW', self.Ok)
  30.         self.parent = parent
  31.         self.buttonOk.focus_set()
  32.         self.bind('<Return>', self.Ok)
  33.         self.bind('<Escape>', self.Ok)
  34.         self.wait_window()
  35.  
  36.     
  37.     def CreateWidgets(self):
  38.         frameMain = Frame(self, borderwidth = 2, relief = SUNKEN)
  39.         frameButtons = Frame(self)
  40.         frameButtons.pack(side = BOTTOM, fill = X)
  41.         frameMain.pack(side = TOP, expand = TRUE, fill = BOTH)
  42.         self.buttonOk = Button(frameButtons, text = 'Close', command = self.Ok)
  43.         self.buttonOk.pack(padx = 5, pady = 5)
  44.         frameBg = Frame(frameMain, bg = self.bg)
  45.         frameBg.pack(expand = TRUE, fill = BOTH)
  46.         labelTitle = Label(frameBg, text = 'IDLE', fg = self.fg, bg = self.bg, font = ('courier', 24, 'bold'))
  47.         labelTitle.grid(row = 0, column = 0, sticky = W, padx = 10, pady = 10)
  48.         byline = "Python's Integrated DeveLopment Environment" + 5 * '\n'
  49.         labelDesc = Label(frameBg, text = byline, justify = LEFT, fg = self.fg, bg = self.bg)
  50.         labelDesc.grid(row = 2, column = 0, sticky = W, columnspan = 3, padx = 10, pady = 5)
  51.         labelEmail = Label(frameBg, text = 'email:  idle-dev@python.org', justify = LEFT, fg = self.fg, bg = self.bg)
  52.         labelEmail.grid(row = 6, column = 0, columnspan = 2, sticky = W, padx = 10, pady = 0)
  53.         labelWWW = Label(frameBg, text = 'www:  http://www.python.org/idle/', justify = LEFT, fg = self.fg, bg = self.bg)
  54.         labelWWW.grid(row = 7, column = 0, columnspan = 2, sticky = W, padx = 10, pady = 0)
  55.         Frame(frameBg, borderwidth = 1, relief = SUNKEN, height = 2, bg = self.bg).grid(row = 8, column = 0, sticky = EW, columnspan = 3, padx = 5, pady = 5)
  56.         labelPythonVer = Label(frameBg, text = 'Python version:  ' + sys.version.split()[0], fg = self.fg, bg = self.bg)
  57.         labelPythonVer.grid(row = 9, column = 0, sticky = W, padx = 10, pady = 0)
  58.         tkVer = repr(TkVersion).split('.')
  59.         tkVer[len(tkVer) - 1] = str('%.3g' % float('.' + tkVer[len(tkVer) - 1]))[2:]
  60.         if tkVer[len(tkVer) - 1] == '':
  61.             tkVer[len(tkVer) - 1] = '0'
  62.         
  63.         tkVer = string.join(tkVer, '.')
  64.         labelTkVer = Label(frameBg, text = 'Tk version:  ' + tkVer, fg = self.fg, bg = self.bg)
  65.         labelTkVer.grid(row = 9, column = 1, sticky = W, padx = 2, pady = 0)
  66.         py_button_f = Frame(frameBg, bg = self.bg)
  67.         py_button_f.grid(row = 10, column = 0, columnspan = 2, sticky = NSEW)
  68.         buttonLicense = Button(py_button_f, text = 'License', width = 8, highlightbackground = self.bg, command = self.ShowLicense)
  69.         buttonLicense.pack(side = LEFT, padx = 10, pady = 10)
  70.         buttonCopyright = Button(py_button_f, text = 'Copyright', width = 8, highlightbackground = self.bg, command = self.ShowCopyright)
  71.         buttonCopyright.pack(side = LEFT, padx = 10, pady = 10)
  72.         buttonCredits = Button(py_button_f, text = 'Credits', width = 8, highlightbackground = self.bg, command = self.ShowPythonCredits)
  73.         buttonCredits.pack(side = LEFT, padx = 10, pady = 10)
  74.         Frame(frameBg, borderwidth = 1, relief = SUNKEN, height = 2, bg = self.bg).grid(row = 11, column = 0, sticky = EW, columnspan = 3, padx = 5, pady = 5)
  75.         idle_v = Label(frameBg, text = 'IDLE version:   ' + idlever.IDLE_VERSION, fg = self.fg, bg = self.bg)
  76.         idle_v.grid(row = 12, column = 0, sticky = W, padx = 10, pady = 0)
  77.         idle_button_f = Frame(frameBg, bg = self.bg)
  78.         idle_button_f.grid(row = 13, column = 0, columnspan = 3, sticky = NSEW)
  79.         idle_about_b = Button(idle_button_f, text = 'README', width = 8, highlightbackground = self.bg, command = self.ShowIDLEAbout)
  80.         idle_about_b.pack(side = LEFT, padx = 10, pady = 10)
  81.         idle_news_b = Button(idle_button_f, text = 'NEWS', width = 8, highlightbackground = self.bg, command = self.ShowIDLENEWS)
  82.         idle_news_b.pack(side = LEFT, padx = 10, pady = 10)
  83.         idle_credits_b = Button(idle_button_f, text = 'Credits', width = 8, highlightbackground = self.bg, command = self.ShowIDLECredits)
  84.         idle_credits_b.pack(side = LEFT, padx = 10, pady = 10)
  85.  
  86.     
  87.     def ShowLicense(self):
  88.         self.display_printer_text(license, 'About - License')
  89.  
  90.     
  91.     def ShowCopyright(self):
  92.         self.display_printer_text(copyright, 'About - Copyright')
  93.  
  94.     
  95.     def ShowPythonCredits(self):
  96.         self.display_printer_text(credits, 'About - Python Credits')
  97.  
  98.     
  99.     def ShowIDLECredits(self):
  100.         self.ViewFile('About - Credits', 'CREDITS.txt', 'iso-8859-1')
  101.  
  102.     
  103.     def ShowIDLEAbout(self):
  104.         self.ViewFile('About - Readme', 'README.txt')
  105.  
  106.     
  107.     def ShowIDLENEWS(self):
  108.         self.ViewFile('About - NEWS', 'NEWS.txt')
  109.  
  110.     
  111.     def display_printer_text(self, printer, title):
  112.         printer._Printer__setup()
  113.         data = '\n'.join(printer._Printer__lines)
  114.         textView.TextViewer(self, title, None, data)
  115.  
  116.     
  117.     def ViewFile(self, viewTitle, viewFile, encoding = None):
  118.         fn = os.path.join(os.path.abspath(os.path.dirname(__file__)), viewFile)
  119.         if encoding:
  120.             import codecs as codecs
  121.             
  122.             try:
  123.                 textFile = codecs.open(fn, 'r')
  124.             except IOError:
  125.                 import tkMessageBox as tkMessageBox
  126.                 tkMessageBox.showerror(title = 'File Load Error', message = 'Unable to load file %r .' % (fn,), parent = self)
  127.                 return None
  128.  
  129.             data = textFile.read()
  130.         else:
  131.             data = None
  132.         textView.TextViewer(self, viewTitle, fn, data = data)
  133.  
  134.     
  135.     def Ok(self, event = None):
  136.         self.destroy()
  137.  
  138.  
  139. if __name__ == '__main__':
  140.     root = Tk()
  141.     
  142.     def run():
  143.         import aboutDialog as aboutDialog
  144.         aboutDialog.AboutDialog(root, 'About')
  145.  
  146.     Button(root, text = 'Dialog', command = run).pack()
  147.     root.mainloop()
  148.  
  149.